home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 May / EnigmA AMIGA RUN 07 (1996)(G.R. Edizioni)(IT)[!][issue 1996-05][EARSAN CD VI].iso / progs / utilsys / mcp / docs / patchcontrol_eng.doc < prev    next >
Text File  |  1995-07-22  |  3KB  |  96 lines

  1.                 ____               _____                               
  2.        o______ / _ /__ ____________\   _|______ ________ ____________ o
  3.        :\___  \  //___)\  __/ _  \  _  \_   __//  __/___)\  __/_  _  \:
  4.        ::/  \  \ / _\ \   _)_ \   \ \   |   _)_\____  \ \/  \  _\ \   \
  5.        :/   _\  \  // \\ /   \/   /  \  |  /   \  _/ // \\  _\ // /   /
  6.        /_________\ /____\_____\ //:\____|_______\____/____\____/_/  //:
  7.        o--/_______/---- - --/___/--- ----- -- - --- ---- -- ----/___/-o
  8.  
  9.                                   PRESENTS
  10.  
  11.                               PatchControl V1.3
  12.  
  13.                    (C) Copyright 1994-1995 by ALiENDESiGN
  14.  
  15. Introduction:
  16. ------------
  17.  Do you know the problem: a program cannot be removed, because it can't remove
  18.  there patches (such as MCP when you save the prefs). This program will solve
  19.  all problems with systempatches. All programs can remove there patches at
  20.  every time. It's fully compatible to the Setman program.
  21.  
  22.  
  23. Difference between Setman and PatchControl:
  24. ------------------------------------------
  25.  Without Setman or PatchControl only the last program that patches a vector
  26.  can remove itself. All programs (like MCP) that support Setman can always be
  27.  removed. But there are programs (like Snoopy or Enforcer) that doesn't support
  28.  Setman can not be removed. This means that programs without a Setman-support
  29.  can never be removed. PatchControl will solve this problem.
  30.  
  31.  
  32. Installation:
  33. ------------
  34.  Start it right after Setpatch in your startup-sequence.
  35.  For example:
  36.         C:SetPatch QUIET
  37.         C:PatchControl
  38.         .... all other calls follow here
  39.  
  40. Usage:
  41. ------
  42.  In the commandline you can select tasknames after PatchControl. These tasks
  43.  will include there patches before all other programs. It's very useful for
  44.  ARQ or similar programs. Example for ARQ:
  45.   C:PatchControl ARQ
  46.  The tasknames are noncasesensitive and wildcards are supported.
  47.  
  48.  
  49. For programmers:
  50. --------------
  51.  It's very easy to use. Make Findport() "SetMan". If the "SetMan" port exists,
  52.  remove the patches (with SetFunction()) without checking. PatchControl will
  53.  do the rest.
  54.  
  55.  
  56. Developers: (Viruskiller coders)
  57. ----------
  58.  You can get a list of all patches with the following code:
  59.  Make Findport ("SetMan")  and read out the MP_SIGTASK APTR (in old SetMan
  60.  this will be zero). In the SIGTASK (named PatchControl) read out the
  61.  TC_USERDATA. This is a pointer to a patchlist.
  62.  
  63.  Patchlist:
  64.    APTR  LibraryBase
  65.    ULONG Offset
  66.    APTR  PatchNode         ;First Node
  67.  
  68.    APTR  LibraryBase
  69.    ULONG Offset
  70.    APTR  PatchNode
  71.     .                      ;Here will follow a number of this structures.
  72.     
  73.     .                      ;With a zero in APTR Library the list ends.
  74.     .
  75.  
  76.   PatchNode:
  77.    APTR  Next_Node         ;Offset 00
  78.    APTR  Previous_Node     ;Offset 04
  79.   JMP    Next_Program      ;Offset 08    address of the next program
  80.    APTR  Program           ;Offset 14    the program from this node
  81.    APTR  TaskName          ;Offset 18    the taskname of this program
  82.    LABEL PatchNode_SizeOf
  83.  
  84.  
  85. Author:
  86. ------
  87.                          Stefan "zerocom" Sommerfeld
  88.                                Kaulbachstr. 3
  89.                                14612 Falkensee
  90.                                    Germany
  91.  
  92.                           Phone: +49-[0]3322-202452
  93.                        EMail: zerocom@cs.tu-berlin.de
  94.  
  95.  or call our support BBS: eViL moOn! +49-[0]3322-208768 ( 2400-33600 )
  96.